package com.literature.search.file.service;

import java.util.List;

public interface RedisService {

    //添加搜索记录
    void insertSearchHistory(String userId,String value);

    //查询历史搜索记录(最多10条数据)
    List<String> getSearchHistory();

    //删除单个搜索记录
    void deleteSearchHistoryByValue(String value);

    //删除所有搜索记录
    void deleteAllSearchHistory();

    //统计热搜词
    void countSearchHotWord(String keyword);

    //获取热搜词
    List<String> getSearchHotWord();

    //将每日热搜词写入数据库
    void SearchHotWord2DB();

    //统计文献浏览量
    void countFileViews(String fileId);

    //统计文献下载量
    void countFileDownloads(String fileId);

    //从Redis获取文件浏览数
    int getFileViewCount(String fileId);

    //从Redis获取文件下载数
    int getFileDownloadCount(String fileId);

    //从Redis获取存有的浏览数文件Id
    List<String> getFileViewList();

    //从Redis获取存有的下载数文件Id
    List<String> getFileDownloadList();

    //根据文件id删除Redis浏览量记录
    void deleteFileView(String fileId);

    //根据文件id删除Redis下载量记录
    void deleteFileDownload(String fileId);

    //添加需要进行更新的fileId
    void insertNeededUpdateFileId(String fileId);

    //获取需要进行更新的fileId
    List<String> getNeededUpdateFileId();

    void deleteNeededUpdateFileId(List<String> fileIds);

    void countHotDocument(String fileId,Integer x);

    List<String> getHotDocument();

    void deleteHotDocument();

    void setDocumentHistoryKeywordCount(String userId, Integer number);

    Integer getDocumentHistoryKeywordCount(String userId);
}
